Accessory strobe interface

ABSTRACT

An accessory strobe device for a mobile device may operate to provide illumination at the same time as an internal built-in strobe (flash) of the mobile device. The accessory strobe device may receive a single, unidirectional signal from the mobile device that provides signals related to the timing of the internal strobe. The accessory strobe device may process the received signal to control its illumination using the timing and relative intensity levels of the internal strobe during metering and main (normal) flash operations associated with a camera on the mobile device. With the accessory strobe device operating using timing and relative intensity levels in a predetermined relationship with the timing and relative intensity levels of the internal strobe, the accessory strobe device may be used to complement the internal strobe during the metering and main (normal) flash operations for the camera.

PRIORITY CLAIM

This patent is a continuation of U.S. patent application Ser. No.17/005,214, which claims priority to U.S. Provisional Patent ApplicationNo. 62/893,356 to Baer et al., entitled “ACCESSORY STROBE INTERFACE”,filed Aug. 29, 2019, each of which is incorporated by reference in itsentirety.

BACKGROUND 1. Technical Field

Embodiments described herein relate to systems and methods associatedwith an accessory for a mobile device. More particularly, embodimentsdescribed herein relate to systems and methods associated a strobeaccessory for a mobile device.

2. Description of Related Art

Small, mobile multipurpose devices such as smartphones and tablet or paddevices commonly have one or more cameras for taking pictures. Aninternal strobe or flash positioned near the camera is typicallyprovided on such multipurpose devices as well. These devices may alsoinclude programming that determines whether the strobe is to be used intaking a picture (e.g., based on ambient light conditions) and/or theduration and intensity of strobe illumination while the picture istaken. A metering phase (or state) on the device is typically used todetermine whether the strobe is to be used and, if used, the durationand intensity of the illumination. The metering phase may include, forexample, exposure metering using ambient light conditions followed bymetering while brief, low intensity illumination is provided by thestrobe. Focusing of the camera is also typically determined during themetering phase. Metering may also include determining white balance,color temperature, and/or other image capture properties for the camera.After the metering phase, one or more images may be captured by thecamera while the strobe operates in its normal or main flash phase(state). In the main flash phase, the strobe typically operates for ashorter time than the metering phase but at a higher intensity ofillumination.

Internal strobes may be provided on mobile multipurpose devices toprovide convenience for the user and to maintain a small form factor forthe device. External strobe devices (e.g., external strobe accessories)have generally not been developed for mobile multipurpose devices ascameras on mobile multipurpose devices are most frequently used forphotography where there is little need or desire for additionalillumination (e.g., amateur photography purposes). As camera technologyin mobile multipurpose devices advances, there is increasing potentialthat mobile multipurpose device cameras may be used for moreprofessional-type photography. There are, however, challenges inproviding external strobe accessories for mobile multipurpose devicesthat utilize existing connectors on the mobile multipurpose devices toprovide low-latency timing synchronization between the internal strobeand the external strobe accessory.

SUMMARY

In certain embodiments, an accessory strobe device is capable ofmirroring the output of an internal (built-in) strobe of a mobiledevice. The mobile device may output a strobe control signal thatincludes information for both a metering strobe state (e.g., meteringphase) and a main strobe state (e.g., main (normal) flash phase) of theinternal strobe. The strobe control signal may be provided as outputfrom a single data pin in a data/charging port (e.g., a port thatprovides both data and power connections). The strobe control signal mayinclude temporally separated pulses that differentiate the meteringstrobe state and the main strobe state of the internal strobe based onthe time and duration of the pulses. The accessory strobe device mayreceive the strobe control signal and assess the pulses in the strobecontrol signal to determine the timing and duration of strobeillumination provided by the accessory strobe device. As the accessorystrobe device determines the timing and duration of its illuminationbased on the time and duration of the pulses for the internal strobe,the accessory strobe may provide illumination that has a predeterminedrelationship (e.g., is synchronized) in both timing and relativeintensity with illumination provided by the internal strobe of themobile device.

BRIEF DESCRIPTION OF THE DRAWINGS

Features and advantages of the methods and apparatus of the embodimentsdescribed in this disclosure will be more fully appreciated by referenceto the following detailed description of presently preferred butnonetheless illustrative embodiments in accordance with the embodimentsdescribed in this disclosure when taken in conjunction with theaccompanying drawings in which:

FIG. 1 depicts a representation of an embodiment of a mobile devicecoupled to an accessory strobe device.

FIG. 2 depicts a representation of an embodiment of a mobile devicecoupled to an accessory strobe device using a wireless device.

FIG. 3 depicts a block diagram representation of an embodiment of apathway for strobe control signals in a mobile device.

FIG. 4 depicts a block diagram of an embodiment of an accessory strobedevice.

FIG. 5 depicts a representation of an embodiment of a strobe controlsignal as a function of time for an accessory strobe device.

FIG. 6 depicts a flowchart of an embodiment of logic for a state machinein a signal decoder.

FIG. 7 depicts a flowchart of an embodiment of a camera operationprocess using an internal strobe and an accessory strobe device with amobile device.

FIG. 8 illustrates a “front” side of a mobile device.

FIG. 9 illustrates a “rear” side of a mobile device.

FIG. 10 illustrates a block diagram of a mobile device.

FIG. 11 illustrates an example computing device.

While embodiments described in this disclosure may be susceptible tovarious modifications and alternative forms, specific embodimentsthereof are shown by way of example in the drawings and will herein bedescribed in detail. It should be understood, however, that the drawingsand detailed description thereto are not intended to limit theembodiments to the particular form disclosed, but on the contrary, theintention is to cover all modifications, equivalents and alternativesfalling within the spirit and scope of the appended claims. The headingsused herein are for organizational purposes only and are not meant to beused to limit the scope of the description. As used throughout thisapplication, the word “may” is used in a permissive sense (i.e., meaninghaving the potential to), rather than the mandatory sense (i.e., meaningmust). Similarly, the words “include”, “including”, and “includes” meanincluding, but not limited to.

Various units, circuits, or other components may be described as“configured to” perform a task or tasks. In such contexts, “configuredto” is a broad recitation of structure generally meaning “havingcircuitry that” performs the task or tasks during operation. As such,the unit/circuit/component can be configured to perform the task evenwhen the unit/circuit/component is not currently on. In general, thecircuitry that forms the structure corresponding to “configured to” mayinclude hardware circuits and/or memory storing program instructionsexecutable to implement the operation. The memory can include volatilememory such as static or dynamic random access memory and/or nonvolatilememory such as optical or magnetic disk storage, flash memory,programmable read-only memories, etc. The hardware circuits may includeany combination of combinatorial logic circuitry, clocked storagedevices such as flops, registers, latches, etc., finite state machines,memory such as static random access memory or embedded dynamic randomaccess memory, custom designed circuitry, programmable logic arrays,etc. Similarly, various units/circuits/components may be described asperforming a task or tasks, for convenience in the description. Suchdescriptions should be interpreted as including the phrase “configuredto.” Reciting a unit/circuit/component that is configured to perform oneor more tasks is expressly intended not to invoke 35 U.S.C. § 112(f)interpretation for that unit/circuit/component.

The scope of the present disclosure includes any feature or combinationof features disclosed herein (either explicitly or implicitly), or anygeneralization thereof, whether or not it mitigates any or all of theproblems addressed herein. Accordingly, new claims may be formulatedduring prosecution of this application (or an application claimingpriority thereto) to any such combination of features. In particular,with reference to the appended claims, features from dependent claimsmay be combined with those of the independent claims and features fromrespective independent claims may be combined in any appropriate mannerand not merely in the specific combinations enumerated in the appendedclaims.

DETAILED DESCRIPTION OF EMBODIMENTS

This specification includes references to “one embodiment” or “anembodiment.” The appearances of the phrases “in one embodiment” or “inan embodiment” do not necessarily refer to the same embodiment, althoughembodiments that include any combination of the features are generallycontemplated, unless expressly disclaimed herein. Particular features,structures, or characteristics may be combined in any suitable mannerconsistent with this disclosure.

FIG. 1 depicts a representation of an embodiment of mobile device 100coupled to accessory strobe device 200. Mobile device 100 may be a smallmultipurpose computing device including any of various types of acomputer system device that is mobile or portable and is capable ofperforming wireless communication and includes camera 102. Examples ofmobile devices include, but are not limited to, cell phones,smartphones, pad or tablet computing devices, laptop, netbook, notebook,subnotebook, and ultrabook computers. Various other types of devices mayfall into this category if they include wireless or RF communicationcapabilities (e.g., Wi-Fi, cellular, and/or Bluetooth) and have acamera, such as portable gaming devices, portable Internet devices, andother handheld devices, as well as wearable devices. As describedherein, the term “mobile device” may be defined to encompass anymultipurpose electronic, computing, and/or telecommunications device (orcombination of devices) that is easily transported by a user, is capableof wireless communication (using, for example, WLAN, Wi-Fi, cellular,and/or Bluetooth), and has a camera, where the device's primary purposeis telecommunication, computing, and/or electronic gaming. FIGS. 8-11illustrate example mobile devices that may include one or more camerasand are capable of being coupled to embodiments of the accessory strobedevice as described herein.

In certain embodiments, mobile device 100 includes one or more cameras102 and one or more internal strobes 104 (e.g., built-in strobes).Cameras 102 and internal strobes 104 may be located either front-facingon mobile device 100 (e.g., facing on same side as a display of themobile device) and/or back-facing on the mobile device (e.g., facing onan opposite side as the display). In some embodiments, the display ofthe mobile device is used as internal strobes 104 or the internalstrobes may be a part of the display. In some embodiments of mobiledevice 100, cameras 102 and internal strobes 104 are placed in pairs onmobile device 100 (e.g., one camera is paired with one internal strobe).In other embodiments, groupings of multiple cameras 102 and/or multipleinternal strobes 104 may also be contemplated (e.g., two cameras groupedwith one internal strobe).

In certain embodiments, accessory strobe device 200 is an LED strobedevice. Other types of strobe devices may also be contemplatedincluding, but not limited to, a xenon strobe device or a combinationLED/xenon strobe device. In certain embodiments, strobe device 200 iscoupled to mobile device 100 using cable 106 and connector 108. In someembodiments, strobe device 200 is coupled to cable 106 using connector110. Connector 110 may be, for example, a USB-type connector or anothersimilar connector. In some embodiments, cable 106 is part of strobedevice 200 (e.g., cable 106 is internally connected to the strobedevice).

In some embodiments, strobe device 200 is wirelessly coupled mobiledevice 100. FIG. 2 depicts a representation of an embodiment of mobiledevice 100 coupled to accessory strobe device 200 using wireless device120. Wireless device 120 may be, for example, a wireless dongle or otherwireless transmitter/receiver device coupled to port 112 using connector108. In some embodiments, connector 108 and wireless device 120 areintegrated into a single device. Wireless device 120 may be capable oftransmitting and receiving signals using one or more wirelesstransmission protocols such as, but not limited to, IRDA, Wi-Fi, andBluetooth. Strobe device 200 may be capable of receiving signals from(and, in some embodiments, transmitting signals to) wireless device 120.In some embodiments, the wireless connection between wireless device 120and strobe device 200 may be security-protected (e.g., the wirelessdevice and the strobe device may have an encrypted peer-to-peerconnection).

As shown in FIGS. 1 and 2 , connector 108 may be coupled to port 112 onmobile device 100. In certain embodiments, port 112 is a combinedcharging and data port (e.g., a port that provides both bus (data) andpower connections to a single connector). Examples of port 112 include,but are not limited to, a Lightning® port (Apple, Inc.), a USB-C® port(USB Implementers Forum), a Mini-USB port, or a Micro-USB port.Connector 108 may be any type of connector suitable for use with port112. In some embodiments, connector 108 may be coupled to another portthat outputs data on mobile device 100. For example, connector 108 maybe coupled to a headphone jack or another serial data port on mobiledevice 100. In embodiments using a port other than port 112, strobesignals (e.g., the strobe control signal) may be provided from the otherport using the operations described herein with respect to port 112.

Combined charging and data ports such as port 112 may have a limitednumber of connector contacts (e.g., pins) that are available foroutputting data signals from mobile device 100. Thus, limiting thenumber of pins in port 112 needed to provide data signals to a singleaccessory device (e.g., strobe device 200) may allow the port to provideas many different signal outputs as possible. In certain embodiments,mobile device 100 is configured to provide data signals for strobedevice 200 using a single data pin in port 112 (e.g., a single pin inport 112 is available for data transmission between mobile device 100and strobe device 200). In such embodiments, connector 108 may bedesigned to transmit/receive data using the single data pin in port 112.For example, connector 108 may have a single data pin that connects tothe single data pin in port 112. It may be noted that while connectionusing a single data pin is described, an additional ground connectionbetween connector 108 and port 112 may be provided such that strobedevice 200 and mobile device 100 are grounded.

In certain embodiments, mobile device 100 has substantially all strobecontrol signals (e.g., digital strobe control signals) for strobe device200 placed on a single data bus in the mobile device. FIG. 3 depicts ablock diagram representation of an embodiment of a pathway for strobecontrol signals in mobile device 100. Internal strobe control signalsource(s) 114 may be connected to data bus 116 and/or data bus 118. Incertain embodiments, mobile device 100 includes multiple strobe controlsignal sources 114 for internal strobe 104. For example, as shown inFIG. 3 , strobe control signal sources may include first internal strobecontrol signal source 114A and second internal strobe control signalsource 114B. First internal strobe control signal source 114A may beused to provide a strobe control signal for a metering state (phase) forinternal strobe 104 (described herein) while second internal strobecontrol signal source 114B may be used to provide a strobe controlsignal for main (normal) state (phase) for the internal strobe(described herein). For example, first internal strobe control signalsource 114A may be an in-system programming (ISP) unit while secondinternal strobe control signal source 114B may be an image sensorassociated with camera 102.

As shown in FIG. 3 , first internal strobe control signal source 114Amay provide its strobe control signal to data bus 116 while secondinternal strobe control signal source 114B provides its strobe controlsignal to data bus 118. Signals from data bus 116 and data bus 118 maybe provided to internal strobe 104 for control of the internal strobe.In certain embodiments, the strobe control signal from first internalstrobe control signal source 114A is also provided to (e.g., routed to)data bus 118 (shown by the dashed line in FIG. 3 ). As such, data bus118 becomes a single data bus having both strobe control signals placedon it (e.g., both metering state and main state strobe control signalsare on the single data bus).

In certain embodiments, as shown in FIG. 3 , data bus 118 (e.g., thesingle data bus) is coupled to port 112 (with the data bus being coupledto the single pin in port 112). Routing both the metering state and themain state strobe control signals to data bus 118 and then to port 112provides a single data pathway to port 112 for both the strobe controlsignals that is substantially parallel to the signal control pathwaysfor internal strobe 104. As such, the same strobe control signals thatare being provided to internal strobe 104 may be provided to strobedevice 200, when the strobe device is connected to port 112, withoutreconfiguring (e.g., re-interpolating) the internal probe controlsignals for strobe device 200 (e.g., strobe device 200 gets the samestrobe control signals as internal strobe 104). Routing the strobecontrol signals through data bus 118 to port 112 may provide shortlatency between the strobe control signals arriving at internal strobe104 and the strobe control signals arriving at strobe device 200.

It is to be understood that while the embodiments described hereincontemplate routing of data signals from two different strobe controlsignal sources to a single data bus, other embodiments that involvesingle or multiple strobe control signal sources providing strobecontrol signals to a single data bus may also be contemplated. Forexample, in some embodiments, mobile device 100 may include a singlestrobe control signal source for internal strobe 104. In suchembodiments, the single strobe control signal source may be simplyrouted to provide strobe control signals to data bus 118 (e.g., thesingle data bus), if not already routed thereto. As another example, insome embodiments, mobile device 100 may include multiple strobe controlsignal sources of the same type (e.g., two different image sensors maybe strobe control signal sources) with the strobe control signals routedto a single data bus.

In certain embodiments, as described above, internal strobe 104 receivesstrobe control signals for two different states (phases) of operation onmobile device 100. The first state may be the metering state and thesecond state may be the main (normal) state for internal strobe 104(e.g., the strobe state used while capturing images using camera 102 onthe mobile device). In the metering state, illumination from internalstrobe 104 is provided at a low intensity (e.g., a torch intensity forthe internal strobe) while, in the main state, illumination frominternal strobe 104 is provided at a high intensity (e.g., a maximumintensity level available for the internal strobe). Additionaldescription for the metering state and the main state of strobeillumination are provided herein (e.g., additional description isprovided for the embodiment depicted in FIG. 7 ).

As further described above, strobe device 200 may receive the strobecontrol signals for both the metering state and the main state as asingle strobe control signal from data bus 118 when the strobe device iscoupled to port 112 using connector 108 and either cable 106, as shownin FIG. 1 , or wireless device 120, as shown in FIG. 2 . In someembodiments, connector 108 is a coded connector. For example, connector108 may be coded using an authentication chip in the connector. In someembodiments, the authentication chip may be in the body of strobe device200 or in the body of wireless device 120. The authentication chip mayauthorize strobe device 200 as a device of a certain class (e.g., strobeaccessory class) that is recognized and/or verified by mobile device 100when strobe device 200 is connected to the mobile device using connector108. Strobe device 200 may only receive the strobe control signal frommobile device 100 through connector 108 when the strobe device isauthorized (e.g., authenticated) as an accessory of the certain classfor the mobile device. Mobile device 100 may transmit/receive signalsfrom port 112 after the authentication chip is recognized/verified.Without the authentication chip being recognized, no signals (e.g., thestrobe control signals and/or other signals associated with port 112)may be transmitted or received through port 112. It is to be understoodthat while the authentication chip for strobe device 200 authorizes,when recognized/verified, mobile device 100 to output signals toconnector 108 and the strobe device, the authentication chip may notnecessarily provide any information on the identity of what the strobedevice is to the mobile device (e.g., the authentication chip merelyprovides indication that it is allowed for the mobile device totransmit/receive signals from port 112 without any identification of thestrobe device).

With strobe device 200 connected to mobile device 100 using connector108 and, when necessary for certain embodiments, the strobe device isrecognized/verified by mobile device 100, a strobe control signal placedon data bus 118 (shown in FIG. 3 ) may be provided to strobe device 200.Strobe device 200 may process the strobe control signal to providedesired illumination output from the strobe device. FIG. 4 depicts ablock diagram of an embodiment of strobe device 200. In certainembodiments, the strobe control signal from connector 108 is provided tosignal decoder 202. In certain embodiments, signal decoder 202 may be asignal processor such as a field programmable gate array (FPGA). Signaldecoder 202 may also be, but not be limited to, a microcontroller, acustom-designed chip, a flash chip, or some type of discrete logic basedcontroller. Signal decoder 202 may decode the strobe control signal intoa metering signal and a main signal for LED driver 204. While theembodiment depicted in FIG. 4 describes signal decoder 202 as beinglocated in strobe device 200 (e.g., coupled to battery system 210,described below), some embodiments may contemplate having the signaldecoder being located in another component coupled to the strobe device200. For example, signal decoder 202 may be located in wireless device120, shown in FIG. 2 . In such an embodiment, decoding of the strobecontrol signal may occur in wireless device 120 using signal decoder 202and the wireless device may then wirelessly transmit the metering signaland the main signal for LED driver 204 to strobe device 200.

LED driver 204 may be a current driver and may include, for example,voltage dividers and/or amplifiers to provide current levels suitable todriver LED array 206 based on input signals received from signal decoder202. LED driver 204 may provide appropriate current outputs to LED array206 based on which input signal is received by the LED driver. Forexample, LED driver 204 may provide CCT1 (e.g., the metering statecurrent output) in response to receiving the metering signal from signaldecoder 202 and LED driver 204 may provide CCT2 (e.g., the main statecurrent output) in response to receiving the main signal from signaldecoder 202.

In some embodiments, LED driver 204 may be capable of selecting betweendifferent color temperatures for LED array 206, if such selection isavailable for the LED array. LED array 206 may be, for example, an arrayof LED emitters with separate sets of LED emitters having differentoutput properties including, but not limited to, different colortemperatures and different fields of view. LED driver 204 may provideCCT1 and CCT2 to drive two separate sets of emitters (LEDs) in LED array206 that have different color temperatures. For example, CCT1 may drivea set of LEDs having a cool white (about 5500° K) color temperaturewhile CCT2 may drive a set of LEDs having a warm white (about 2800° K)color temperature. Intermediate color temperatures between the coolwhite and the warm white may be obtained by balancing currents CCT1 andCCT2 to provide the desired color temperature.

In some embodiments, LED array 206 includes emitters similar to emittersin internal strobe 104. Using similar emitters in LED array 206 mayallow strobe device 200 to mirror illumination from internal strobe 104(e.g., mirror light wavelength and/or color temperature).

Signal decoder 202, LED driver 204, and LED array 206 may be powered bybattery system 210. Battery system 210 may include on/off switch 212 tocontrol power to strobe device 200. Battery system 210 may include oneor more power sources capable of sustaining high peak currents (e.g., upto several A) for brief intervals of time (e.g., on the order of a fewmilliseconds) for strobe device 200. In some embodiments, battery system210 includes one or more batteries coupled to circuitry with one or morevoltage multipliers and one or more voltage regulators. Battery system210 may provide power for strobe device 200 to provide brighter poweroutputs than internal strobe 104 in mobile device 100. In certainembodiments, battery system 210 is charged/recharged using chargingreceptacle 214. Charging receptacle 214 may be, for example, a USB-typereceptacle (e.g., a USB-C® port) or a Lightning® port. Battery system210 may typically be charged using an external power supply (e.g., an ACpower supply or a high-capacity external DC power source such as abattery pack). In some embodiments, strobe device 200 may providepass-through charging from charging receptacle 214. For example, whenstrobe device 200 is charged through charging receptacle 214, chargingpower may also be provided to mobile device 100 when the mobile deviceis also coupled to the strobe device.

As described above, the strobe control signal received in strobe device200 is a single strobe control signal from data bus 118 (shown in FIG. 3) that includes both the strobe control signal for the metering stateand the strobe control signal for the main state combined into thesingle strobe control signal. Signal decoder 202 may include logic todifferentiate the metering state signal and the main state signal fromthe single strobe control signal received through connector 108. FIG. 5depicts a representation of an embodiment of strobe control signal 300as a function of time for strobe device 200. In certain embodiments,strobe control signal 300 is a single strobe control signal thatincludes two signal pulses—first pulse 302 and second pulse 304. Firstpulse 302 may be a pulse for the metering strobe state on mobile device100 and second pulse 304 may be a pulse for the main strobe state onmobile device 100.

In certain embodiments, as shown in FIG. 5 , first pulse 302 and secondpulse 304 are similar in level (amplitude) or have the same level.Providing first pulse 302 and second pulse 304 at about the same levelmay provide more simple control of strobe device 200 using digitalstrobe control signals. In certain embodiments, first pulse 302 andsecond pulse 304 are temporally spaced (e.g., time separated) to allowsignal decoder 202, shown in FIG. 4 , to decode the pulses based on thetiming of the pulses. For example, signal decoder 202 may include statemachine to differentiate the signals based on timing of the pulses. Thestate machine may be programmed, for example, into an FPGA used assignal decoder 202.

FIG. 6 depicts a flowchart of an embodiment of logic for a state machinein signal decoder 202. The state machine logic may be used to separatestrobe control signal 300 (shown in FIG. 5 ) into separate metering andmain output signals. The state machine logic may also include timingsafety controls to prevent overheating of strobe device 200 and/or toprevent signal decoder 202 from becoming stuck in the wrong state. Sometiming safety controls may cause the state machine logic to returnstrobe device 200 back to the standby state.

The state machine depicted in FIG. 6 is described herein in combinationwith the timing for strobe control signal 300 depicted in FIG. 5 . Forsimplicity in the description, references are made to elements in bothFIG. 5 and FIG. 6 without explicit reference to which figure the elementis depicted in. Additionally, the time periods for states in the logicfor the state machine and strobe control signal 300 described herein aremerely provided as examples on the order of what may be encountered inoperation of mobile device 100 and strobe device 100. It is to beunderstood that the actual time periods used may vary and other timeperiods may be contemplated depending on the characteristics of mobiledevice 100 and strobe device 200.

At “T_0” in strobe control signal 300, the state machine is at “Standby400”. As the rising edge of “T_1” begins (e.g., rising edge of firstpulse 302), the state machine transitions to “Metering 402”. In“Metering 402”, the strobe is turned on at low power (e.g., torch poweror metering state power) and used for the metering state (phase) ofmobile device 100 (e.g., the metering signal is provided from signaldecoder 202, as shown in FIG. 4 ). The strobe is left on at the low(metering) power for the duration of “T_1” until the falling edge offirst pulse 302 (end of “T_1”), where the state is transitioned to“Pre-strobe 404” at which the strobe is turned off In some instances, ifthe state is in “Metering 402” past a threshold (e.g., “T_1” is above atime threshold), then the strobe is returned to “Standby 400” to awaitthe next strobe control signal or pulse. The strobe may be left in“Metering 402” too long if, for example, the falling edge of “T_1” ismissed or does not come for any reason. The strobe may be returned to“Standby 400” to prevent the strobe device from becoming stuck in the“Metering 402” state. A typical time for the metering state (“T_1”) maybe between about 0.1 seconds and about 5 seconds though shorter orlonger times may also be possible (e.g., the typical time may be betweenabout 2 seconds and about 4 seconds). Thus, in some embodiments, thetime threshold for returning to “Standby 400” may be set at a fewseconds (e.g., about 2 seconds to 10 seconds or about 3 seconds to about5 seconds).

The strobe may be in “Pre-strobe 404” during “T_2” in strobe controlsignal 300. “T_2” may be a time delay between first pulse 302 and secondpulse 304. In certain embodiments, a minimum value of “T_2” is neededfor the state machine to recognize a transition (e.g., for the statemachine to recognize the rising edge after “Pre-strobe 404”). Theminimum value of “T_2” may be, for example, between about 1 millisecondand about 10 milliseconds. A maximum allowable time for “T_2” may alsobe set, where if the maximum allowable time is exceeded and the statemachine does not see the rising edge while at “Pre-strobe 404” (e.g.,the rising edge of second pulse 304 at beginning of “T_3”), then thestate machine will return the strobe to “Standby 400” and await the nextstrobe control signal or pulse. The maximum allowable time may be, forexample, about 100 milliseconds up to about 1 second depending on thecharacteristics of mobile device 100.

When the rising edge of second pulse 304 at beginning of “T_3” isdetected, the state machine moves the state to “Main 406”. In “Main406”, the strobe is turned on to a maximum available power for thestrobe (e.g., high power for the strobe indicated by the main signalbeing provided from signal decoder 202, as shown in FIG. 4 ) and for theduration of “T_3”. Since the strobe is turned on to the maximumavailable power (e.g., maximum intensity level available) for theduration of “T_3”, the length of “T_3” may control the overallillumination intensity provided by the strobe during “Main 406”. Theillumination during “Main 406” and “T_3” may be used for the main stateof capturing pictures using mobile device 100. In certain embodiments,“Main 406” is a shorter period of time than “Metering 402”. For example,“Main 406” may have a duration of between about 10 milliseconds andabout 200 milliseconds (as compared to a few seconds for “Metering402”). In some embodiments, “Main 406” may have a duration of betweenabout 1 millisecond and about 250 milliseconds. The duration of “Main406” state may be timed out at an upper threshold to prevent thermaloverheating of the strobe due to the high-power operation of the strobeduring this state. For example, in some embodiments, “Main 406” may betimed out and the state is moved to “Cool Down 408” if “T_3” reaches atime of about 250 milliseconds. Otherwise, the state machine may movethe strobe to “Cool Down 408” when the state machine recognizes thefalling edge of second pulse 304 (e.g., the end of “T_3”). In “Cool Down408”, the strobe may be turned off and a minimum delay is provided. Theminimum delay may be provided to prevent overheating of the strobe byallowing the strobe to cool down before another active strobe operationbegins. The time for the minimum delay may be included in “T_4” as“Minimum_Delay” on strobe control signal 300. After the minimum delay isreached, the state machine may move to “Standby 400”, where the statemachine waits for the next active strobe operation to begin (with anytime in “Standby 400” also included in “T_4”). For example, uponreturning to “Standby 400”, the state machine may wait for the nextcontrol signal or pulse, as indicated by the rising edge of the nextfirst pulse 302′. Thus, “T_4”, which includes the minimum delay and thestandby time, may end when the rising edge of the next first pulse 302′is encountered.

As shown in FIGS. 4-6 , signal decoder 202 may decode a single strobecontrol signal (e.g., strobe control signal 300) into a metering signaland a main signal based on temporal separation of pulses in the singlestrobe control signal. Additionally, as the single strobe control signalcorresponds to strobe control signals provided for internal strobe 104(e.g., the single strobe control signal used in strobe device 200 isbased off the signals used for internal strobe 104, as describedherein), decoding of the single strobe control signal into separatemetering and main signals may allow strobe device 200 to operate in apredetermined relationship with internal strobe 104 low latency for theoperation of the strobe device. Thus, strobe device 200 may operatesynchronously (e.g., a predetermined relationship that is synchronous)with internal strobe 104 (e.g., the strobe device and the internalstrobe device turn on and off (the strobes start and stop) atessentially the same time). As described herein, synchronous operationof strobe device 200 with respect to operation of internal strobe 104may include the strobe device operating (e.g., turning on/off) with arelatively insignificant delay (e.g., low latency on the order of a fewmilliseconds) compared to the internal strobe.

Strobe device 200 may have a power ratio between the main (normal)strobe state and the metering (torch) strobe state that has apredetermined relationship to a power ratio between the main (normal)strobe state and the metering (torch) strobe state for internal strobe104. In certain embodiments, strobe device 200 has a power ratio betweenthe main strobe state and the metering strobe state that is synchronousto (e.g., is on the order of, or substantially the same as) the powerratio between the main strobe state and the metering strobe state forinternal strobe 104. As described herein, in the main strobe state,internal strobe 104 may have higher power (e.g., intensity) to providebrighter, more intense illumination that is useful for capturing images.In the metering strobe state, internal strobe 104 may provide lowerpower (intensity), longer timed illumination that brightens up the sceneand allows for exposure and other metering measurements by sensors onmobile device 100 to determine the length of the main strobe state.

In certain embodiments, the main strobe state and the metering strobestate are set at fixed power (intensity) levels for internal strobe 104.For example, internal strobe 104 may have a set power ratio between themain strobe state and the metering strobe state of about 10:1 or about20:1. In some embodiments, relative levels for the main strobe state andthe metering strobe state are set based on the power ratio and a maximumintensity (power) level available for internal strobe 104. For example,the power level for the main strobe state may be set at the maximumintensity level available for internal strobe 104 and then the meteringstrobe state power level may be set based on the power ratio (e.g., 1/20of the maximum intensity level available for the internal strobe for a20:1 ratio). In certain embodiments, the maximum intensity levelavailable for internal strobe 104 is determined based on the maximumpower level that can be sustained by the internal strobe for a selectedmaximum main state pulse duration. For example, the main state pulseduration may correspond to “T_3”, described above, which, in oneembodiment, may have a maximum allowable time of about 250 milliseconds.The maximum power level that can be sustained may be based on factorssuch as, but not limited to, maximum LED junction temperature allowed ininternal strobe 104 and battery level in mobile device 100. Setting andfixing the power levels may provide a simpler operating device and allowmetering to be accomplished more quickly and more accurately.

As described above, having strobe device 200 set at substantially thesame power ratio as internal strobe 104 may allow strobe device 200 toprovide relative intensity levels of illumination for the main strobestate and the metering strobe state that are synchronous with (e.g., thepredetermined relationship is synchronization) the relative intensitylevels of illumination provided by internal strobe 104. Providingsubstantially the same relative intensity levels from strobe device 200as internal strobe 104 may allow metering algorithms, described herein,that operate during the metering strobe state to more accuratelydetermine proper exposure levels and other properties for the mainstrobe state. For example, when strobe device 200 provides relativeintensity levels that are synchronous with relative intensity levels ofillumination provided by internal strobe 104, the metering algorithmsmay not need any additional information about where the extra light iscoming from (e.g., the metering algorithms may make accuratecalculations regardless of the source of light).

In certain embodiments, LED driver 204, shown in FIG. 4 , determines thepower ratio for the main strobe state and the metering strobe state ofstrobe device 200. As described above, LED driver 204 may providecurrent outputs CCT1 and CCT2 where CCT1 drives a set of LEDs at a firstcolor temperature and CCT2 drives a set of LEDs at a second colortemperature and the current outputs may be balanced to provide aselected color temperature using LED array 206. The sum of currentoutputs CCT1 and CCT2 may determine the operating power of LED array 206and strobe device 200. Thus, different operating powers for strobedevice 200 that correspond to the desired power ratio for the mainstrobe state and the metering strobe state may be provided by adjustingthe sum of current outputs CCT1 and CCT2 while maintaining the balancebetween the current outputs to provide the selected color temperature.For example, LED driver 204 may programmed to set a higher current levelfor the main strobe state (e.g., sum of current outputs CCT1 and CCT2 toprovide main strobe power) to be 20 times a lower current level for themetering strobe state (e.g., sum of current outputs CCT1 and CCT2 toprovide metering strobe power) for a set power ratio of 20:1. Thus, inresponse to receiving the metering signal from signal decoder 202 (themetering signal being decoded from the strobe control signal asdescribed herein), LED driver 204 may provide the lower current level toLED array 206. In response to receiving the main signal from signaldecoder 202 (the main signal being decoded from the strobe controlsignal as described herein), LED driver 204 may provide the highercurrent level to LED. In some embodiments, signal decoder 202 maydetermine current levels for LED driver 204 based on the decoding of thestrobe control signal. In such embodiments, the current levelsdetermined in signal decoder 202 may be provided to LED driver 204 alongwith either the metering signal or the main signal.

In some embodiments, the higher current level for LED array 206 may beset at a maximum current level available for strobe device 200. Themaximum current level may provide the maximum intensity available forstrobe device 200. The maximum current level available for strobe device200 may be determined based on the maximum power level that can besustained by the LED array for a selected maximum main state pulseduration. The maximum current level that can be sustained may be basedon the same factors as for internal strobe 104 (e.g., factors such as,but not limited to, maximum LED junction temperature allowed in strobedevice 100 and battery level in battery system 210). The lower currentlevel may then be set based on the power ratio for strobe device 200.For example, the lower current level may be set at 1/20 of the maximumcurrent level for a power ratio of 20:1 (main state to metering state).As one non-limiting example, the lower current level may be about 100 mAwhile the higher current level may be about 2 A.

As described herein, strobe device 200 may receive a single strobecontrol signal (e.g., strobe control signal 300) through connector 108from mobile device 100. Strobe device 200 may utilize the single strobecontrol signal to determine the timing of strobe states (e.g., meteringstrobe state and main strobe state as determined by signal decoder 202)and the power levels of the strobe states (e.g., metering strobe statepower level and main strobe state power level as determined by LEDdriver 204). Thus, strobe device 200 may receive the single strobecontrol signal from mobile device 100 and determine timing and powerlevels of strobe states along a serial path.

In some embodiments, strobe device 200, as shown in FIG. 4 , includesone or more enhancements (shown by dashed lines). Enhancements mayinclude, but not be limited to, ambient light sensor 216, CCT(correlated color temperature) selection 218, and strobe power selection220. These enhancements may be, for example, controls that allow a userto manually refine or determine one or more operating characteristics ofstrobe device 200. Providing manual control of these operatingcharacteristics properties may allow the user to have more fine-tunedcontrol of illumination and create different lighting scenarios (e.g.,allow a professional photographer to create different camera shotcharacteristics). In certain embodiments, controls provided ambientlight sensor 216, CCT selection 218, and strobe power selection 220 areimplemented in LED driver 204.

Ambient light sensor 216 (or camera 102) may be used to detect ambientlight for strobe device 200 to help determine the color or colortemperature (e.g., CCT) of LED array 206. For example, LED driver 204may be capable of selecting between LEDs (emitters) of different colorsin LED array 206 based on the color or color temperature of ambientlight detected by ambient light sensor 216 (or camera 102). In someembodiments, the color of LED array 206 (e.g., color temperatureselected by the balance between CCT1 and CCT2 from LED driver 204) ismatched to the color measured using ambient light sensor 216. CCTselection 218 may be a control (e.g., manual control) of the CCT of LEDarray 206. For example, CCT selection 218 may be provided to LED driver204 to select emitters ranging between warm white emitters and coolwhite emitters in LED array 206 (e.g., change balance between CCT1 andCCT2 provided by the LED driver to change color temperature). Strobepower selection 220 may be a control (e.g., manual control) to allowchanges to the set power ratio of higher current level to lower currentlevel provided by LED driver 204 (e.g., changes to the power ratio thatmirrors the power ratio of internal strobe 104). Changing the powerratio using strobe power selection 220 may provide control over therelative intensity of illumination between the metering strobe state andthe main strobe state of strobe device 200.

FIG. 7 depicts a flowchart of an embodiment of camera operation process500 using internal strobe 104 and strobe device 200 with mobile device100. Process 500 may operate with strobe device 200 coupled to mobiledevice 100 using connector 108 and port 112. In certain embodiments,process 500 operates when strobe device 200 mirrors operation ofinternal strobe 104. In some embodiments, as described herein, strobedevice 200 operates synchronously with internal strobe 104 with mobiledevice 100 being unaware that the strobe device is coupled to the mobiledevice. In certain embodiments, process 500 operates when strobe device200 receives the single strobe control signal from mobile device 100, asdescribed above. In some embodiments, process 500 may operate whenstrobe device 200 receives any strobe control signal from mobile device100 that signal decoder 202 is capable of processing to provide separatetiming for the metering and main signals provided to LED driver 204 fordriving LED array 206 to provide illumination from the strobe device.

Process 500 may begin with the camera (e.g., camera 102) being turned onin 502. Turning the camera on in 502 may include, but not be limited,opening a camera application on mobile device 100. The camera may beginoperating when being turned on, which may include streaming images(e.g., capturing preview images) while waiting for a user to activatethe camera to capture one or more images (e.g., the user presses ashutter button on the device or provides some input that begins an imagecapture process using the camera). It should be noted that once thecamera is turned on and operating in 502, mobile device 100 may beginmonitoring/assessing ambient light conditions with camera 102 and/oradditional associated sensors. For example, mobile device 100 may becontinuously metering and adjusting exposure settings (e.g., analog gainand integration time) and/or focus settings while camera 102 is turnedon. In some embodiments, mobile device 100 may capture preview imagesand assess the images to meter and adjust the exposure settings forambient light conditions and/or the focus settings.

With the camera turned on, a strobe mode may be selected in strobecontrol selection 504. In strobe control selection 504, a user mayselect a strobe mode on mobile device 100. Examples of strobe modes thatmay be selected include, but may not be limited to, “OFF”, “ON” and“AUTO”. Internal strobe 104 and strobe device 200 will not fire(illuminate) if “OFF” strobe mode is selected regardless of ambientlight levels detected by sensors on mobile device 100. For “ON” strobemode, internal strobe 104 and strobe device 200 will fire (illuminate)as long as selected conditions exist (e.g., internal strobe 104 is notoverheated or other conditions that may adversely affect operation ofthe internal strobe). For “AUTO”, internal strobe 104 and strobe device200 are activated when selected lighting conditions are determined(e.g., ambient lighting conditions are determined to warrant additionalillumination).

Process 500 may enter metering state 506 (e.g., the metering strobestate or metering phase) after a user activates the camera to captureone or more images using the camera (e.g., the user provides an input,such as pressing a shutter button on the device, to begin taking one ormore pictures with the camera). In metering state 506, internal strobe104 and strobe device 200 are turned on to provide illumination atmetering state power (e.g., low power or torch power intensity) andlight up the scene for the camera. Preview images may be captured by thecamera during metering state 506. Metering software and/or algorithmslocated on mobile device 100 may assess the images captured duringmetering state 506 along with exposure metering during ambient lightconditions (described above) to determine operating conditions forcamera 102, internal strobe 104, and strobe device 200 to be used whilecapturing images using the camera. Determining operating conditions mayinclude determining the duration of the illumination during main state(normal) strobe operation provided by internal strobe 104 as well asstrobe device 200, which mirrors the internal strobe. The duration ofthe main state strobe operation may determine the intensity ofillumination in the main state strobe operation due to internal strobe104 and strobe device operating at their maximum intensity level. Otheroperating conditions that may be determined during metering state 506include, but are not limited to, focus, white balance, colortemperature, and/or other image capture properties associated withcamera 102.

In some embodiments, determining operating conditions during meteringstate 506 includes determining a strobe operating mode for internalstrobe 104 and strobe device 200. The strobe operating mode may bedetermined to be, for example, either a low-light operating mode or arear-curtain sync operating mode. The strobe operating mode may bedetermined based on factors such as, but not limited to, subjectdistance and ambient illumination level. Low-light operating mode may beused, for instance, when there is very dim light and no subject isdetected in a foreground of the image scene. In low-light operatingmode, internal strobe 104 and strobe device 200 are active for an entireduration of an image frame capture. Operating internal strobe 104 andstrobe device 200 in low-light operating mode may maximize the usefulduration of the strobe pulse and, thus, the range of illuminationprovided by internal strobe 104 and strobe device 200. Rear-curtain syncoperating mode may be used when other conditions besides low- lightoperating mode conditions are detected. Rear-curtain sync operating modemay be used to balance the brightness of foreground objects with ambientillumination in the background of the image scene (which may be out ofthe range of internal strobe 104 and strobe device 200). In rear-curtainsync mode, illumination from internal strobe 104 and strobe device 200may only be active during the interval in which all pixels integratelight.

After, the operating conditions are determined during metering state506, process 500 may enter main state 508 (e.g., the main strobe stateor normal flash phase). In main state 508, internal strobe 104 andstrobe device 200 are turned on and provide illumination at main statepower (e.g., high power or maximum intensity level available) and lightup the scene for the camera for a selected amount of time (e.g.,selected duration). Internal strobe 104 and strobe device 200 may beoperated in main state 508 at the conditions (e.g., duration and/orstrobe operating mode) determined during metering state 506. As internalstrobe 104 and strobe device 200 are typically operated at the maximumintensity level available, controlling the duration of operation in mainstate 508 may determine the intensity of illumination for the mainstate. One or more images may be captured using camera 102 during mainstate 508 while illumination from internal strobe 104 and strobe device200 is turned on.

Images captured during main state 508 may be captured at a high framerate (e.g., 60 frames per second). As described herein, the intensity ofillumination during main state 508 is determined by the duration of theillumination during the main state strobe. Thus, accuracy in timing ofthe main strobe state using internal strobe 104 and strobe device 200may be needed to provide optimal lighting conditions during imagecapture because of the high frame capture rate and thus, high qualityimage captures. Internal strobe 104 may be designed and programmed toprovide the accuracy in timing needed for capturing high quality imageswith camera 102. In some instances, the addition of supplementalillumination (such as illumination from strobe device 200) may produceproblems with timing of illumination and image capture. In embodimentsof strobe device 200 described herein, however, the strobe device mayreceive strobe control signals associated with internal strobe 104 atlow latency. Receiving the signals with low latency may allow strobedevice 200 to maintain the timing accuracy needed for high quality imagecaptures using mobile device 100.

In some embodiments, the connection between connector 108 and port 112,shown in FIG. 1 , may allow for two-way serial communication betweenstrobe device 200 and mobile device 100. Two-way serial communicationbetween strobe device 200 and mobile device 100 may be provided foradditional functionalities for the strobe device. With two-waycommunication, strobe device 200 may be capable of providing informationabout the capabilities/characteristics of the strobe device to mobiledevice 100. For example, signal decoder 202 in strobe device 200 may beprogrammed with the information about the capabilities/characteristicsof the strobe device. Mobile device 100 may operate camera 102 and/orinternal strobe 104 in combination with strobe device 200 based on theinformation received about the strobe device. Information about strobedevice 200 may include, but not be limited to, illumination intensity,color temperature, and internal latency of strobe device.

In some embodiments, having information about strobe device 200 mayallow mobile device 100 to turn off internal strobe 104 and only usestrobe device 200 for illumination. For example, metering algorithms,described herein, may rely on specific information about internal strobe104 to determine main strobe state operating conditions. With two-waycommunication, the metering algorithms may be able to acquireinformation about strobe device 200 (e.g., intensity and colortemperature) to allow metering to be accomplished with only strobedevice 200 or with strobe device 200 operating at power ratios otherthan the power ratio of internal strobe 104. In some embodiments, mobiledevice 100 may have a switch (such as a switch in the user interface(UI) of the device) that controls selection of using internal strobe104, strobe device 200, or both the internal strobe and the strobedevice.

In some embodiments, two-way communication between strobe device 200 andmobile device 100 may allow the strobe device to be operated to providecreative or enhanced lighting effects for the mobile device. Forexample, the start/stop timing and/or intensity level of strobe device200 may be different relative to the start/stop timing and/or intensitylevel of internal strobe 104 to create different lighting effects. Insome embodiments, the timing between strobe device 200 and internalstrobe 104 may be adjusted such that the strobe device does not operatesynchronously with the internal strobe (e.g., the strobe device has ashorter or longer main strobe state than the internal strobe).Adjustments to the timing may be provided, for example, by providing astrobe control signal to strobe device 200 from mobile device 100 withthe adjusted timing or, for example, adjusting a manual timing controlon the strobe device. Additionally, intensity of strobe device 200during the main strobe state may be adjusted compared to internal strobe104. As a specific example, in one embodiment, strobe device 200 mayprovide a brief, high-intensity flash that is shorter but brighter thanthe flash provided by internal strobe 104.

For contemplated embodiments of a strobe accessory device where thestrobe is a xenon strobe, operation of the strobe accessory device maydiffer from an LED strobe accessory device (e.g., strobe device 200 withLED driver 204 and LED array 206, shown in FIG. 4 ). Operation maydiffer because xenon bulbs have very short pulse durations (e.g., a fewmicroseconds) that are not on the order of the LED illumination ofinternal strobe 104 (e.g., a few milliseconds). Thus, in one-waycommunication embodiments (e.g., embodiments where mobile device 100 isunaware of the presence of the strobe device), illumination intensityfor the main strobe state cannot be controlled by length (duration) ofthe strobe pulse but rather needs to be controlled by the power outputprovided by the xenon bulb. In such embodiments, the power level of thexenon strobe device may be manually controlled or externally controlled(e.g., controlled outside of mobile device 100) since mobile device 100has no information on the operation of the xenon strobe.

The additional functionalities provided by two-way serial communicationmay be useful for embodiments of a xenon strobe device. In someembodiments, since mobile device 100 receives information on thecapabilities of the xenon strobe device, the mobile device may controlthe power level provided to the xenon strobe device for control of theintensity during the main strobe state. For example, since the pulseneeded for the xenon strobe device is short, a pulse for the xenonstrobe may include a first set of pulses used to program the brightnessof the xenon strobe device followed by the pulse for operation of thexenon strobe device. Metering, however, may not be possible using thexenon strobe device because the xenon strobe may only provide very shortpulses on the order of a few microseconds, where such short pulses arenot useful for metering. Thus, in some embodiments, metering with thexenon strobe device attached may be accomplished with internal strobe104 providing the metering state strobe. In such embodiments, meteringalgorithms on mobile device 100 may use the known information receivedabout the xenon strobe device to translate operating conditions for thexenon strobe device to be used during the main strobe state.

FIGS. 8-10 illustrate embodiments of mobile device 1900 that may includeone or more cameras and one or more internal strobes, in accordance withembodiments as described above. In some embodiments, device 1900 mayinclude one or multiple features, components, and/or functionality ofembodiments described herein.

FIG. 8 illustrates that a “front” side of device 1900 may have touchscreen 1912. Touch screen 1912 may display one or more graphics within auser interface (UI). In this embodiment, as well as others describedbelow, a user may select one or more of the graphics by making a gestureon the graphics, for example, with one or more fingers 1901 (not drawnto scale in the figure) or one or more styluses 1907 (not drawn to scalein the figure).

Device 1900 may also include one or more physical buttons, such as“home” or menu button 1915, which may be used to navigate to anyapplication 1936 (see FIG. 10 ) in a set of applications that may beexecuted on device 1900. Alternatively, in some embodiments, the menubutton is implemented as a soft key in a graphics user interface (GUI)displayed on touch screen 1912.

In one embodiment, device 1900 includes touch screen 1912, menu button1915, push button 1905 for powering the device on/off and locking thedevice, volume adjustment button(s) 1909, Subscriber Identity Module(SIM) card slot 1910, head set jack 1914, and docking/charging externalport 1924, in accordance with some embodiments. Push button 1905 may beused to turn the power on/off on the device by depressing the button andholding the button in the depressed state for a predefined timeinterval; to lock the device by depressing the button and releasing thebutton before the predefined time interval has elapsed; and/or to unlockthe device or initiate an unlock process. In an alternative embodiment,device 1900 also may accept verbal input for activation or deactivationof some functions through microphone 1913.

FIG. 9 illustrates that a “rear” side of device 1900 may include camera1970, in accordance with some embodiments. Camera 1970, which may bereferred to as an “optical sensor” for convenience, may also be known asor called an optical sensor system. Camera 1970 may include one or morecamera modules. FIG. 9 further illustrates sensor 1964 and light sourcemodule 1975. Light source module 1975 may include one or more internalstrobes, in accordance with some embodiments.

Referring to FIG. 10 , a block diagram illustrates that device 1900 mayinclude memory 1902 (which may include one or more computer readablestorage mediums), memory controller 1922, one or more processing units(CPU's) 1920, peripherals interface 1918, RF circuitry 1908, audiocircuitry 1910, speaker 1911, touch-sensitive display system 1912,microphone 1913, input/output (I/O) subsystem 1906, other input controldevices 1916, and external port 1924. Device 1900 may include one ormore optical sensors 1964. These components may communicate over one ormore communication buses or signal lines 1903.

It should be appreciated that device 1900 is only one example of aportable multifunction device, and that device 1900 may have more orfewer components than shown, may combine two or more components, or mayhave a different configuration or arrangement of the components. Thevarious components shown in FIG. 10 may be implemented in hardware,software, or a combination of hardware and software, including one ormore signal processing and/or application specific integrated circuits.

Memory 1902 may include high-speed random access memory and may alsoinclude non-volatile memory, such as one or more magnetic disk storagedevices, flash memory devices, or other non-volatile solid-state memorydevices. Access to memory 1902 by other components of device 1900, suchas CPU 1920 and the peripherals interface 1918, may be controlled bymemory controller 1922.

Peripherals interface 1918 can be used to couple input and outputperipherals of the device to CPU 1920 and memory 1902. The one or moreprocessors 1920 run or execute various software programs and/or sets ofinstructions stored in memory 1902 to perform various functions fordevice 1900 and to process data.

In some embodiments, peripherals interface 1918, CPU 1920, and memorycontroller 1922 may be implemented on a single chip, such as chip 1904.In some other embodiments, they may be implemented on separate chips.

RF (radio frequency) circuitry 1908 receives and sends RF signals, alsocalled electromagnetic signals. RF circuitry 1908 converts electricalsignals to/from electromagnetic signals and communicates withcommunications networks and other communications devices via theelectromagnetic signals. RF circuitry 1908 may include well-knowncircuitry for performing these functions, including but not limited toan antenna system, an RF transceiver, one or more amplifiers, a tuner,one or more oscillators, a digital signal processor, a CODEC chipset, asubscriber identity module (SIM) card, memory, and so forth. RFcircuitry 1908 may communicate with networks, such as the Internet, alsoreferred to as the World Wide Web (WWW), an intranet and/or a wirelessnetwork, such as a cellular telephone network, a wireless local areanetwork (LAN) and/or a metropolitan area network (MAN), and otherdevices by wireless communication. The wireless communication may useany of a variety of communications standards, protocols andtechnologies, including but not limited to Global System for MobileCommunications (GSM), Enhanced Data GSM Environment (EDGE), high-speeddownlink packet access (HSDPA), high-speed uplink packet access (HSDPA),wideband code division multiple access (W-CDMA), code division multipleaccess (CDMA), time division multiple access (TDMA), Bluetooth, WirelessFidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g and/orIEEE 802.11n), voice over Internet Protocol (VoIP), Wi-MAX, a protocolfor e-mail (e.g., Internet message access protocol (IMAP) and/or postoffice protocol (POP)), instant messaging (e.g., extensible messagingand presence protocol (XMPP), Session Initiation Protocol for InstantMessaging and Presence Leveraging Extensions (SIMPLE), Instant Messagingand Presence Service (IMPS)), and/or Short Message Service (SMS), or anyother suitable communication protocol, including communication protocolsnot yet developed as of the filing date of this document.

Audio circuitry 1910, speaker 1911, and microphone 1913 provide an audiointerface between a user and device 1900. Audio circuitry 1910 receivesaudio data from peripherals interface 1918, converts the audio data toan electrical signal, and transmits the electrical signal to speaker1911. Speaker 1911 converts the electrical signal to human-audible soundwaves. Audio circuitry 1910 also receives electrical signals convertedby microphone 1913 from sound waves. Audio circuitry 1910 converts theelectrical signal to audio data and transmits the audio data toperipherals interface 1918 for processing. Audio data may be retrievedfrom and/or transmitted to memory 102 and/or RF circuitry 1908 byperipherals interface 1918. In some embodiments, audio circuitry 1910also includes a headset jack (e.g., 1914, FIGS. 8-9 ). The headset jackprovides an interface between audio circuitry 1910 and removable audioinput/output peripherals, such as output-only headphones or a headsetwith both output (e.g., a headphone for one or both ears) and input(e.g., a microphone).

I/O subsystem 1906 couples input/output peripherals on device 1900, suchas touch screen 1912 and other input control devices 1916, toperipherals interface 1918. I/O subsystem 1906 may include displaycontroller 1956 and one or more input controllers 1960 for other inputor control devices. The one or more input controllers 1916 receive/sendelectrical signals from/to other input or control devices 1916. Theother input control devices 1916 may include physical buttons (e.g.,push buttons, rocker buttons, etc.), dials, slider switches, joysticks,click wheels, and so forth. In some alternative embodiments, inputcontroller(s) 1960 may be coupled to any (or none) of the following: akeyboard, infrared port, USB port, and a pointer device such as a mouse.The one or more buttons (e.g., 1909, FIGS. 8-9 ) may include an up/downbutton for volume control of speaker 1911 and/or microphone 1913. Theone or more buttons may include a push button (e.g., 1906, FIGS. 8-9 ).

Touch-sensitive display 1912 provides an input interface and an outputinterface between the device and a user. Display controller 1956receives and/or sends electrical signals from/to touch screen 1912.Touch screen 1912 displays visual output to the user. The visual outputmay include graphics, text, icons, video, and any combination thereof(collectively termed “graphics”). In some embodiments, some or all ofthe visual output may correspond to user-interface objects.

Touch screen 1912 has a touch-sensitive surface, sensor or set ofsensors that accepts input from the user based on haptic and/or tactilecontact. Touch screen 1912 and display controller 1956 (along with anyassociated modules and/or sets of instructions in memory 1902) detectcontact (and any movement or breaking of the contact) on touch screen1912 and converts the detected contact into interaction withuser-interface objects (e.g., one or more soft keys, icons, web pages orimages) that are displayed on touch screen 1912. In an exampleembodiment, a point of contact between touch screen 1912 and the usercorresponds to a finger of the user.

Touch screen 1912 may use LCD (liquid crystal display) technology, LPD(light emitting polymer display) technology, or LED (light emittingdiode) technology, although other display technologies may be used inother embodiments. Touch screen 1912 and display controller 1956 maydetect contact and any movement or breaking thereof using any of avariety of touch sensing technologies now known or later developed,including but not limited to capacitive, resistive, infrared, andsurface acoustic wave technologies, as well as other proximity sensorarrays or other elements for determining one or more points of contactwith touch screen 1912. In an example embodiment, projected mutualcapacitance sensing technology may be used.

Touch screen 1912 may have a video resolution in excess of 100 dots perinch (dpi). In some embodiments, the touch screen has a video resolutionof approximately 160 dpi. The user may make contact with touch screen1912 using any suitable object or appendage, such as a stylus, a finger,and so forth. In some embodiments, the user interface is designed towork primarily with finger-based contacts and gestures, which can beless precise than stylus-based input due to the larger area of contactof a finger on the touch screen. In some embodiments, the devicetranslates the rough finger-based input into a precise pointer/cursorposition or command for performing the actions desired by the user.

In some embodiments, in addition to the touch screen, device 1900 mayinclude a touchpad (not shown) for activating or deactivating particularfunctions. In some embodiments, the touchpad is a touch-sensitive areaof the device that, unlike the touch screen, does not display visualoutput. The touchpad may be a touch-sensitive surface that is separatefrom touch screen 1912 or an extension of the touch-sensitive surfaceformed by the touch screen.

Device 1900 also includes power system 1962 for powering the variouscomponents. Power system 1962 may include a power management system, oneor more power sources (e.g., battery, alternating current (AC)), arecharging system, a power failure detection circuit, a power converteror inverter, a power status indicator (e.g., a light-emitting diode(LED)) and any other components associated with the generation,management and distribution of power in portable devices.

Device 1900 may also include one or more optical sensors 1964 and one ormore cameras 1970. FIG. 10 shows an optical sensor coupled to opticalsensor controller 1958 in I/O subsystem 1906. Optical sensor 1964 mayinclude charge-coupled device (CCD) or complementary metal-oxidesemiconductor (CMOS) phototransistors. Optical sensor 1964 receiveslight from the environment, projected through one or more lens, andconverts the light to data representing an image. In conjunction withcamera(s) 1970 (such as an embodiment of a camera described herein),optical sensor 1964 may capture still images or video. In someembodiments, an optical sensor is located on the back of device 1900,opposite touch screen display 1912 on the front of the device, so thatthe touch screen display may be used as a viewfinder for still and/orvideo image acquisition. In some embodiments, another optical sensor islocated on the front of the device so that the user's image may beobtained for videoconferencing while the user views the othervideoconference participants on the touch screen display.

Device 1900 may also include one or more proximity sensors 1966. FIG. 10shows proximity sensor 1966 coupled to peripherals interface 1918.Alternatively, proximity sensor 1966 may be coupled to input controller1960 in I/O subsystem 1906. In some embodiments, the proximity sensorturns off and disables touch screen 1912 when the multifunction deviceis placed near the user's ear (e.g., when the user is making a phonecall).

Device 1900 includes one or more orientation sensors 1968. In someembodiments, the one or more orientation sensors include one or moreaccelerometers (e.g., one or more linear accelerometers and/or one ormore rotational accelerometers). In some embodiments, the one or moreorientation sensors include one or more gyroscopes. In some embodiments,the one or more orientation sensors include one or more magnetometers.In some embodiments, the one or more orientation sensors include one ormore of global positioning system (GPS), Global Navigation SatelliteSystem (GLONASS), and/or other global navigation system receivers. TheGPS, GLONASS, and/or other global navigation system receivers may beused for obtaining information concerning the location and orientation(e.g., portrait or landscape) of device 1900. In some embodiments, theone or more orientation sensors include any combination oforientation/rotation sensors. FIG. 10 shows the one or more orientationsensors 1968 coupled to peripherals interface 1918. Alternatively, theone or more orientation sensors 1968 may be coupled to an inputcontroller 1960 in I/O subsystem 1906. In some embodiments, informationis displayed on the touch screen display in a portrait view or alandscape view based on an analysis of data received from the one ormore orientation sensors.

In some embodiments, the software components stored in memory 1902include operating system 1926, communication module (or set ofinstructions) 1928, instructions). Furthermore, in some embodiments,memory 1902 stores device/global internal state, including informationobtained from the device's various sensors and input control devices1916; and location information concerning the device's location and/orattitude.

Operating system 1926 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS,or an embedded operating system such as VxWorks) includes varioussoftware components and/or drivers for controlling and managing generalsystem tasks (e.g., memory management, storage device control, powermanagement, etc.) and facilitates communication between various hardwareand software components.

Communication module 1928 facilitates communication with other devicesover one or more external ports 1924 and also includes various softwarecomponents for handling data received by RF circuitry 1908 and/orexternal port 1924. External port 1924 (e.g., Universal Serial Bus(USB), FIREWIRE, etc.) is adapted for coupling directly to otherdevices, in accordance with some embodiments, or indirectly over anetwork (e.g., the Internet, wireless LAN, etc.).

Contact/motion module 1930 may detect contact with touch screen 1912 (inconjunction with display controller 1956) and other touch sensitivedevices (e.g., a touchpad or physical click wheel). Contact/motionmodule 1930 includes various software components for performing variousoperations related to detection of contact, such as determining ifcontact has occurred (e.g., detecting a finger-down event), determiningif there is movement of the contact and tracking the movement across thetouch-sensitive surface (e.g., detecting one or more finger-draggingevents), and determining if the contact has ceased (e.g., detecting afinger-up event or a break in contact). Contact/motion module 1930receives contact data from the touch-sensitive surface. Determiningmovement of the point of contact, which is represented by a series ofcontact data, may include determining speed (magnitude), velocity(magnitude and direction), and/or an acceleration (a change in magnitudeand/or direction) of the point of contact. These operations may beapplied to single contacts (e.g., one finger contacts) or to multiplesimultaneous contacts (e.g., “multitouch”/multiple finger contacts). Insome embodiments, contact/motion module 1930 and display controller 1956detect contact on a touchpad.

Contact/motion module 1930 may detect a gesture input by a user.Different gestures on the touch-sensitive surface have different contactpatterns. Thus, a gesture may be detected by detecting a particularcontact pattern. For example, detecting a finger tap gesture includesdetecting a finger-down event followed by detecting a finger-up (liftoff) event at the same position (or substantially the same position) asthe finger-down event (e.g., at the position of an icon). As anotherexample, detecting a finger swipe gesture on the touch-sensitive surfaceincludes detecting a finger-down event followed by detecting one or morefinger-dragging events, and subsequently followed by detecting afinger-up (lift off) event.

Graphics module 1932 includes various known software components forrendering and displaying graphics on touch screen 1912 or other display,including components for changing the intensity of graphics that aredisplayed. As used herein, the term “graphics” includes any object thatcan be displayed to a user, including without limitation text, webpages, icons (such as user-interface objects including soft keys),digital images, videos, animations and the like.

In some embodiments, graphics module 1932 stores data representinggraphics to be used. Each graphic may be assigned a corresponding code.Graphics module 1932 receives, from applications etc., one or more codesspecifying graphics to be displayed along with, if necessary, coordinatedata and other graphic property data, and then generates screen imagedata to output to display controller 1956.

Text input module 1934, which may be a component of graphics module1932, provides soft keyboards for entering text in various applications(e.g., contacts 1937, e-mail 1940, IM 1941, browser 1947, and any otherapplication that needs text input).

GPS module 1935 determines the location of the device and provides thisinformation for use in various applications (e.g., to telephone 1938 foruse in location-based dialing, to imaging module 1943 as picture/videometadata, and to applications that provide location-based services suchas weather widgets, local yellow page widgets, and map/navigationwidgets).

Applications 1936 may include the following modules (or sets ofinstructions), or a subset or superset thereof:

contacts module 1937 (sometimes called an address book or contact list);

telephone module 1938;

video conferencing module 1939;

e-mail client module 1940;

instant messaging (IM) module 1941;

workout support module 1942;

camera module 1943 for still and/or video images;

image management module 1944;

browser module 1947;

calendar module 1948;

widget modules 1949, which may include one or more of: weather widget1949-1, stocks widget 1949-2, calculator widget 1949-3, alarm clockwidget 1949-4, dictionary widget 1949-5, and other widgets obtained bythe user, as well as user-created widgets 1949-6;

widget creator module 1950 for making user-created widgets 1949-6;

search module 1951;

video and music player module 1952, which may be made up of a videoplayer

module and a music player module;

notes module 1953;

map module 1954; and/or

online video module 1955.

Examples of other applications 1936 that may be stored in memory 1902include other word processing applications, other image editingapplications, drawing applications, presentation applications,JAVA-enabled applications, encryption, digital rights management, voicerecognition, and voice replication.

In conjunction with touch screen 1912, display controller 1956, contactmodule 1930, graphics module 1932, and text input module 1934, contactsmodule 1937 may be used to manage an address book or contact list,including: adding name(s) to the address book; deleting name(s) from theaddress book; associating telephone number(s), e-mail address(es),physical address(es) or other information with a name; associating animage with a name; categorizing and sorting names; providing telephonenumbers or e-mail addresses to initiate and/or facilitate communicationsby telephone 1938, video conference 1939, e-mail 1940, or IM 1941; andso forth.

In conjunction with RF circuitry 1908, audio circuitry 1910, speaker1911, microphone 1913, touch screen 1912, display controller 1956,contact module 1930, graphics module 1932, and text input module 1934,telephone module 1938 may be used to enter a sequence of characterscorresponding to a telephone number, access one or more telephonenumbers in address book 1937, modify a telephone number that has beenentered, dial a respective telephone number, conduct a conversation anddisconnect or hang up when the conversation is completed. As notedabove, the wireless communication may use any of a variety ofcommunications standards, protocols and technologies.

In conjunction with RF circuitry 1908, audio circuitry 1910, speaker1911, microphone 1913, touch screen 1912, display controller 1956,optical sensor 1964, optical sensor controller 1958, contact module1930, graphics module 1932, text input module 1934, contact list 1937,and telephone module 1938, videoconferencing module 1939 includesexecutable instructions to initiate, conduct, and terminate a videoconference between a user and one or more other participants inaccordance with user instructions.

In conjunction with RF circuitry 1908, touch screen 1912, displaycontroller 1956, contact module 1930, graphics module 1932, and textinput module 1934, e-mail client module 1940 includes executableinstructions to create, send, receive, and manage e-mail in response touser instructions. In conjunction with image management module 1944,e-mail client module 1940 makes it very easy to create and send e-mailswith still or video images taken by imaging module 1943.

In conjunction with RF circuitry 1908, touch screen 1912, displaycontroller 1956, contact module 1930, graphics module 1932, and textinput module 1934, the instant messaging module 1941 includes executableinstructions to enter a sequence of characters corresponding to aninstant message, to modify previously entered characters, to transmit arespective instant message (for example, using a Short Message Service(SMS) or Multimedia Message Service (MMS) protocol for telephony-basedinstant messages or using XMPP, SIMPLE, or IMPS for Internet-basedinstant messages), to receive instant messages and to view receivedinstant messages. In some embodiments, transmitted and/or receivedinstant messages may include graphics, photos, audio files, video filesand/or other attachments as are supported in a MMS and/or an EnhancedMessaging Service (EMS). As used herein, “instant messaging” refers toboth telephony-based messages (e.g., messages sent using SMS or MMS) andInternet-based messages (e.g., messages sent using XMPP, SIMPLE, orIMPS).

In conjunction with RF circuitry 1908, touch screen 1912, displaycontroller 1956, contact module 1930, graphics module 1932, text inputmodule 1934, GPS module 1935, map module 1954, and music player module1946, workout support module 1942 includes executable instructions tocreate workouts (e.g., with time, distance, and/or calorie burninggoals); communicate with workout sensors (sports devices); receiveworkout sensor data; calibrate sensors used to monitor a workout; selectand play music for a workout; and display, store and transmit workoutdata.

In conjunction with touch screen 1912, display controller 1956, opticalsensor(s) 1964, camera(s) 1970, optical sensor controller 1958, lightsource module 1975 (see FIG. 9 ), contact module 1930, graphics module1932, and image management module 1944, imaging module 1943 includesexecutable instructions to capture still images or video (including avideo stream) and store them into memory 1902, modify characteristics ofa still image or video, or delete a still image or video from memory1902.

In conjunction with touch screen 1912, display controller 1956, opticalsensor(s) 1964, camera(s) 1970, contact module 1930, graphics module1932, text input module 1934, light source module 1975 (see FIG. 9 ),and imaging module 1943, image management module 1944 includesexecutable instructions to arrange, modify (e.g., edit), or otherwisemanipulate, label, delete, present (e.g., in a digital slide show oralbum), and store still and/or video images.

In conjunction with RF circuitry 1908, touch screen 1912, display systemcontroller 1956, contact module 1930, graphics module 1932, and textinput module 1934, browser module 1947 includes executable instructionsto browse the Internet in accordance with user instructions, includingsearching, linking to, receiving, and displaying web pages or portionsthereof, as well as attachments and other files linked to web pages.

In conjunction with RF circuitry 1908, touch screen 1912, display systemcontroller 1956, contact module 1930, graphics module 1932, text inputmodule 1934, e-mail client module 1940, and browser module 1947,calendar module 1948 includes executable instructions to create,display, modify, and store calendars and data associated with calendars(e.g., calendar entries, to do lists, etc.) in accordance with userinstructions.

In conjunction with RF circuitry 1908, touch screen 1912, display systemcontroller 1956, contact module 1930, graphics module 1932, text inputmodule 1934, and browser module 1947, widget modules 1949 aremini-applications that may be downloaded and used by a user (e.g.,weather widget 1949-1, stocks widget 1949-2, calculator widget 1949-3,alarm clock widget 1949-4, and dictionary widget 1949-5) or created bythe user (e.g., user-created widget 1949-6). In some embodiments, awidget includes an HTML (Hypertext Markup Language) file, a CSS(Cascading Style Sheets) file, and a JavaScript file. In someembodiments, a widget includes an XML (Extensible Markup Language) fileand a JavaScript file (e.g., Yahoo! Widgets).

In conjunction with RF circuitry 1908, touch screen 1912, display systemcontroller 1956, contact module 1930, graphics module 1932, text inputmodule 1934, and browser module 1947, the widget creator module 1950 maybe used by a user to create widgets (e.g., turning a user-specifiedportion of a web page into a widget).

In conjunction with touch screen 1912, display system controller 1956,contact module 1930, graphics module 1932, and text input module 1934,search module 1951 includes executable instructions to search for text,music, sound, image, video, and/or other files in memory 1902 that matchone or more search criteria (e.g., one or more user-specified searchterms) in accordance with user instructions.

In conjunction with touch screen 1912, display system controller 1956,contact module 1930, graphics module 1932, audio circuitry 1910, speaker1911, RF circuitry 1908, and browser module 1947, video and music playermodule 1952 includes executable instructions that allow the user todownload and play back recorded music and other sound files stored inone or more file formats, such as MP3 or AAC files, and executableinstructions to display, present or otherwise play back videos (e.g., ontouch screen 1912 or on an external, connected display via external port1924). In some embodiments, device 1900 may include the functionality ofan MP3 player.

In conjunction with touch screen 1912, display controller 1956, contactmodule 1930, graphics module 1932, and text input module 1934, notesmodule 1953 includes executable instructions to create and manage notes,to do lists, and the like in accordance with user instructions.

In conjunction with RF circuitry 1908, touch screen 1912, display systemcontroller 1956, contact module 1930, graphics module 1932, text inputmodule 1934, GPS module 1935, and browser module 1947, map module 1954may be used to receive, display, modify, and store maps and dataassociated with maps (e.g., driving directions; data on stores and otherpoints of interest at or near a particular location; and otherlocation-based data) in accordance with user instructions.

In conjunction with touch screen 1912, display system controller 1956,contact module 1930, graphics module 1932, audio circuitry 1910, speaker1911, RF circuitry 1908, text input module 1934, e-mail client module1940, and browser module 1947, online video module 1955 includesinstructions that allow the user to access, browse, receive (e.g., bystreaming and/or download), play back (e.g., on the touch screen or onan external, connected display via external port 1924), send an e-mailwith a link to a particular online video, and otherwise manage onlinevideos in one or more file formats, such as H.264. In some embodiments,instant messaging module 1941, rather than e-mail client module 1940, isused to send a link to a particular online video.

Each of the above identified modules and applications correspond to aset of executable instructions for performing one or more functionsdescribed above and the methods described in this application (e.g., thecomputer-implemented methods and other information processing methodsdescribed herein). These modules (i.e., sets of instructions) need notbe implemented as separate software programs, procedures or modules, andthus various subsets of these modules may be combined or otherwiserearranged in various embodiments. In some embodiments, memory 1902 maystore a subset of the modules and data structures identified above.Furthermore, memory 1902 may store additional modules and datastructures not described above.

In some embodiments, device 1900 is a device where operation of apredefined set of functions on the device is performed exclusivelythrough a touch screen and/or a touchpad. By using a touch screen and/ora touchpad as the primary input control device for operation of device1900, the number of physical input control devices (such as pushbuttons, dials, and the like) on device 1900 may be reduced.

The predefined set of functions that may be performed exclusivelythrough a touch screen and/or a touchpad include navigation between userinterfaces. In some embodiments, the touchpad, when touched by the user,navigates device 1900 to a main, home, or root menu from any userinterface that may be displayed on device 1900. In such embodiments, thetouchpad may be referred to as a “menu button.” In some otherembodiments, the menu button may be a physical push button or otherphysical input control device instead of a touchpad.

Example Computing Device

FIG. 11 illustrates an example computing device, referred to as computersystem 2000, that may include or host embodiments of a camera, aninternal strobe, and/or a strobe device as illustrated in FIGS. 1through 7 . In addition, computer system 2000 may implement methods forcontrolling operations of the camera, the internal strobe, the strobedevice, and/or for performing image processing of images captured withthe camera. In different embodiments, computer system 2000 may be any ofvarious types of devices, including, but not limited to, a personalcomputer system, desktop computer, laptop, notebook, tablet or paddevice, slate, or netbook computer, mainframe computer system, handheldcomputer, workstation, network computer, a camera, a set top box, amobile device, a wireless phone, a smartphone, a consumer device, videogame console, handheld video game device, application server, storagedevice, a television, a video recording device, a peripheral device suchas a switch, modem, router, or in general any type of computing orelectronic device.

In the illustrated embodiment, computer system 2000 includes one or moreprocessors 2010 coupled to a system memory 2020 via an input/output(I/O) interface 2030. Computer system 2000 further includes a networkinterface 2040 coupled to I/O interface 2030, and one or moreinput/output devices 2050, such as cursor control device 2060, keyboard2070, and display(s) 2080. Computer system 2000 may also include one ormore cameras 2090 and/or strobes 2092, for example one or more camerasor strobes as described above with respect to FIGS. 1 through 7 , whichmay also be coupled to I/O interface 2030, or one or more cameras orstrobes as described above with respect to FIGS. 1 through 7 along withone or more other cameras or strobes.

In various embodiments, computer system 2000 may be a uniprocessorsystem including one processor 2010, or a multiprocessor systemincluding several processors 2010 (e.g., two, four, eight, or anothersuitable number). Processors 2010 may be any suitable processor capableof executing instructions. For example, in various embodimentsprocessors 2010 may be general-purpose or embedded processorsimplementing any of a variety of instruction set architectures (ISAs),such as the x86, PowerPC, SPARC, or MIPS ISAs, or any other suitableISA. In multiprocessor systems, each of processors 2010 may commonly,but not necessarily, implement the same ISA.

System memory 2020 may be configured to store program instructions 2022and/or data 2032 accessible by processor 2010. In various embodiments,system memory 2020 may be implemented using any suitable memorytechnology, such as static random access memory (SRAM), synchronousdynamic RAM (SDRAM), nonvolatile/Flash-type memory, or any other type ofmemory. In the illustrated embodiment, program instructions 2022 may beconfigured to implement various interfaces, methods and/or data forcontrolling operations of camera 2090, strobes 2092, and for capturingand processing images with integrated camera 2090 or other methods ordata, for example interfaces and methods for capturing, displaying,processing, and storing images captured with camera 2090. In someembodiments, program instructions and/or data may be received, sent orstored upon different types of computer-accessible media or on similarmedia separate from system memory 2020 or computer system 2000.

In one embodiment, I/O interface 2030 may be configured to coordinateI/O traffic between processor 2010, system memory 2020, and anyperipheral devices in the device, including network interface 2040 orother peripheral interfaces, such as input/output devices 2050. In someembodiments, I/O interface 2030 may perform any necessary protocol,timing or other data transformations to convert data signals from onecomponent (e.g., system memory 2020) into a format suitable for use byanother component (e.g., processor 2010). In some embodiments, I/Ointerface 2030 may include support for devices attached through varioustypes of peripheral buses, such as a variant of the Peripheral ComponentInterconnect (PCI) bus standard or the Universal Serial Bus (USB)standard, for example. In some embodiments, the function of I/Ointerface 2030 may be split into two or more separate components, suchas a north bridge and a south bridge, for example. Also, in someembodiments some or all of the functionality of I/O interface 2030, suchas an interface to system memory 2020, may be incorporated directly intoprocessor 2010.

Network interface 2040 may be configured to allow data to be exchangedbetween computer system 2000 and other devices attached to a network2085 (e.g., carrier or agent devices) or between nodes of computersystem 2000. Network 2085 may in various embodiments include one or morenetworks including but not limited to Local Area Networks (LANs) (e.g.,an Ethernet or corporate network), Wide Area Networks (WANs) (e.g., theInternet), wireless data networks, some other electronic data network,or some combination thereof. In various embodiments, network interface2040 may support communication via wired or wireless general datanetworks, such as any suitable type of Ethernet network, for example;via telecommunications/telephony networks such as analog voice networksor digital fiber communications networks; via storage area networks suchas Fibre Channel SANs, or via any other suitable type of network and/orprotocol.

Input/output devices 2050 may, in some embodiments, include one or moredisplay terminals, keyboards, keypads, touchpads, scanning devices,voice or optical recognition devices, or any other devices suitable forentering or accessing data by computer system 2000. Multipleinput/output devices 2050 may be present in computer system 2000 or maybe distributed on various nodes of computer system 2000. In someembodiments, similar input/output devices may be separate from computersystem 2000 and may interact with one or more nodes of computer system2000 through a wired or wireless connection, such as over networkinterface 2040.

As shown in FIG. 11 , memory 2020 may include program instructions 2022,which may be processor-executable to implement any element or action tosupport integrated camera 2090 and/or strobes 2092, including but notlimited to image processing software and interface software forcontrolling camera 2090 and/or metering algorithms and software forcontrolling strobes 2092. In some embodiments, images captured by camera2090 may be stored to memory 2020. In addition, metadata for imagescaptured by camera 2090 may be stored to memory 2020.

Those skilled in the art will appreciate that computer system 2000 ismerely illustrative and is not intended to limit the scope ofembodiments. In particular, the computer system and devices may includeany combination of hardware or software that can perform the indicatedfunctions, including computers, network devices, Internet appliances,PDAs, wireless phones, pagers, video or still cameras, etc. Computersystem 2000 may also be connected to other devices that are notillustrated, or instead may operate as a stand-alone system. Inaddition, the functionality provided by the illustrated components mayin some embodiments be combined in fewer components or distributed inadditional components. Similarly, in some embodiments, the functionalityof some of the illustrated components may not be provided and/or otheradditional functionality may be available.

Those skilled in the art will also appreciate that, while various itemsare illustrated as being stored in memory or on storage while beingused, these items or portions of them may be transferred between memoryand other storage devices for purposes of memory management and dataintegrity. Alternatively, in other embodiments some or all of thesoftware components may execute in memory on another device andcommunicate with the illustrated computer system 2000 via inter-computercommunication. Some or all of the system components or data structuresmay also be stored (e.g., as instructions or structured data) on acomputer-accessible medium or a portable article to be read by anappropriate drive, various examples of which are described above. Insome embodiments, instructions stored on a computer-accessible mediumseparate from computer system 2000 may be transmitted to computer system2000 via transmission media or signals such as electrical,electromagnetic, or digital signals, conveyed via a communication mediumsuch as a network and/or a wireless link. Various embodiments mayfurther include receiving, sending or storing instructions and/or dataimplemented in accordance with the foregoing description upon acomputer-accessible medium. Generally speaking, a computer-accessiblemedium may include a non-transitory, computer-readable storage medium ormemory medium such as magnetic or optical media, e.g., disk orDVD/CD-ROM, volatile or non-volatile media such as RAM (e.g. SDRAM, DDR,RDRAM, SRAM, etc.), ROM, etc. In some embodiments, a computer-accessiblemedium may include transmission media or signals such as electrical,electromagnetic, or digital signals, conveyed via a communication mediumsuch as network and/or a wireless link.

The methods described herein may be implemented in software, hardware,or a combination thereof, in different embodiments. In addition, theorder of the blocks of the methods may be changed, and various elementsmay be added, reordered, combined, omitted, modified, etc. Variousmodifications and changes may be made as would be obvious to a personskilled in the art having the benefit of this disclosure. The variousembodiments described herein are meant to be illustrative and notlimiting. Many variations, modifications, additions, and improvementsare possible. Accordingly, plural instances may be provided forcomponents described herein as a single instance. Boundaries betweenvarious components, operations and data stores are somewhat arbitrary,and particular operations are illustrated in the context of specificillustrative configurations. Other allocations of functionality areenvisioned and may fall within the scope of claims that follow. Finally,structures and functionality presented as discrete components in theexample configurations may be implemented as a combined structure orcomponent. These and other variations, modifications, additions, andimprovements may fall within the scope of embodiments as defined in theclaims that follow.

Further modifications and alternative embodiments of various aspects ofthe embodiments described in this disclosure will be apparent to thoseskilled in the art in view of this description. Accordingly, thisdescription is to be construed as illustrative only and is for thepurpose of teaching those skilled in the art the general manner ofcarrying out the embodiments. It is to be understood that the forms ofthe embodiments shown and described herein are to be taken as thepresently preferred embodiments. Elements and materials may besubstituted for those illustrated and described herein, parts andprocesses may be reversed, and certain features of the embodiments maybe utilized independently, all as would be apparent to one skilled inthe art after having the benefit of this description. Changes may bemade in the elements described herein without departing from the spiritand scope of the following claims.

What is claimed is:
 1. An accessory strobe device for a mobile device,comprising: a plurality of xenon emitters; an input connector, whereinthe input connector is configured to be coupled to a port on the mobiledevice that provides both data and power connections, and wherein theinput connector is configured to receive a strobe control signal fromthe port on the mobile device; and a power level controller coupled tothe plurality of xenon emitters, wherein the power level controller isconfigured to determine a power level of the plurality of xenon emittersbased on the strobe control signal.
 2. The accessory strobe device ofclaim 1, wherein the input connector is configured to provide two-wayserial communication between the accessory strobe device and the mobiledevice.
 3. The accessory strobe device of claim 2, wherein the accessorystrobe device is configured to provide one or more operatingcapabilities of the xenon emitters to the mobile device, the mobiledevice determining properties of the strobe control signal based on theone or more operating capabilities of the xenon emitters.
 4. Theaccessory strobe device of claim 3, wherein the strobe control signalincludes the power level of the plurality of xenon emitters determinedby the mobile device based on the one or more operating capabilities ofthe xenon emitters.
 5. The accessory strobe device of claim 3, whereinthe strobe control signal includes instructions for the plurality ofxenon emitters to provide a plurality of pulses over a specified timeperiod.
 6. The accessory strobe device of claim 5, wherein the pluralityof pulses includes a first set of pulses configured to program abrightness of the plurality of xenon emitters and at least one secondpulse for operation of the plurality of xenon emitters at the programmedbrightness while the mobile device captures one or more images.
 7. Theaccessory strobe device of claim 1, wherein the power level controlleris a manually controlled controller, and wherein the power levelcontroller is configured to be manually programmed to determine thepower level of the plurality of xenon emitters based on the strobecontrol signal.
 8. The accessory strobe device of claim 1, wherein thepower level controller is configured to control an intensity of theplurality of xenon emitters by controlling the power level of theplurality of xenon emitters.
 9. The accessory strobe device of claim 1,wherein the accessory strobe device is configured to provideillumination from the plurality of xenon emitters that is synchronouswith illumination provided by an internal strobe of the mobile device.10. A system, comprising: a mobile device comprising: a port thatprovides both data and power connections; an internal strobe device; andan image capture device; an accessory strobe device comprising: aplurality of xenon emitters; an input connector, wherein the inputconnector is configured to be coupled to the port on the mobile deviceto provide two-way serial communication between the accessory strobedevice and the mobile device, and wherein the input connector isconfigured to receive a strobe control signal from the port on themobile device; and a power level controller coupled to the plurality ofxenon emitters, wherein the power level controller is configured todetermine a power level of the plurality of xenon emitters based on thestrobe control signal.
 11. The system of claim 10, wherein the accessorystrobe device is configured to provide one or more operatingcapabilities of the xenon emitters to the mobile device, and wherein themobile device is configured to determine properties of the strobecontrol signal based on the one or more operating capabilities of thexenon emitters.
 12. The system of claim 11, wherein the mobile device isconfigured to determine the power level of the plurality of xenonemitters based on the one or more operating capabilities of the xenonemitters.
 13. The system of claim 11, wherein the mobile device isconfigured to determine the power level of the plurality of xenonemitters based on metering parameters determined for the internal strobeof the mobile device and the one or more operating capabilities of thexenon emitters.
 14. The system of claim 10, wherein the strobe controlsignal includes instructions for the plurality of xenon emitters toprovide a plurality of pulses over a specified time period.
 15. Thesystem of claim 14, wherein the plurality of pulses includes a first setof pulses configured to program a brightness of the plurality of xenonemitters and at least one second pulse for operation of the plurality ofxenon emitters at the programmed brightness while the mobile devicecaptures one or more images.
 16. A method of controlling an accessorystrobe device coupled to a mobile device, comprising: receiving, in themobile device, one or more operating capabilities of a plurality ofxenon emitters located on the accessory strobe device; generating, bythe mobile device, a strobe control signal comprising a power level forthe plurality of xenon emitters based on the one or more operatingcapabilities of the plurality of xenon emitters; providing the strobecontrol signal as an output through a port on the mobile device thatprovides both data and power connections; receiving the strobe controlsignal in a connector coupled to the port on the mobile device;providing the strobe control signal from the connector to the accessorystrobe device; and outputting a pulse of illumination by the pluralityof xenon emitters at the power level in response to the strobe controlsignal.
 17. The method of claim 16, wherein the strobe control signal isprovided as output on a single data pin in the port on the mobiledevice.
 18. The method of claim 16, further comprising determining, bythe mobile device, one or more metering parameters using an internalstrobe of the mobile device.
 19. The method of claim 18, wherein themobile device generates the strobe control signal based on the one ormore operating capabilities of the plurality of xenon emitters and thedetermined metering parameters.
 20. The method of claim 16, wherein thepulse of illumination is output as a plurality of pulses over aspecified time period.